package ao.ai.ml.algo.supervised.classification.model.learner.ext;

import ao.ai.ml.algo.supervised.classification.model.learner.ClassificationLearner;
import ao.ai.ml.algo.supervised.model.example.Example;
import ao.ai.ml.algo.supervised.model.hypothesis.ext.BinaryClassificationHypothesis;
import ao.ai.ml.model.feature_set.ext.cat.bin.SingleBinaryFeature;
import ao.ai.ml.model.feature_set.ext.num.NumericalFeatureList;
import ao.ai.ml.model.value.ext.BinaryValue;

import java.util.List;

/**
 * User: aostrovsky
 * Date: 5-Feb-2010
 * Time: 10:46:24 PM
 */
public interface BinaryLearner
        extends ClassificationLearner<
                    BinaryValue, SingleBinaryFeature>
{
//    //-------------------------------------------------------------------------
//    public SupervisedHypothesis<I, O> learn(
//            List<? extends E> trainingPoints);


    //-------------------------------------------------------------------------
    @Override
    public BinaryClassificationHypothesis learn(
            List<? extends Example<
                    ? extends NumericalFeatureList,
                    ? extends SingleBinaryFeature>> trainingPoints);
}
